﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Configuration;
using System.Data.SqlClient;
using Website.Logger;
using DAL;
using UtilityExtensions;
using BOL.RendicionVentas;
using BOL;
using WebLib;
using BOL.Cliente;
using System.Web.Script.Services;
using System.Web.Services;
using BOL.Ventas;

namespace UILGestion.VentaAdmin.RendicionVenta
{
    public partial class RendicionVentaOPTEditForm : System.Web.UI.Page
    {


        //[WebMethod(), ScriptMethod()]
        //public static string GetCliente(String prefixText, String contextKey)
        //{

        //    //ClienteSearchInfo nuevo = new ClienteSearchInfo();
        //    //nuevo.descripcion = "<strong><span  style='color: #FFFF00;background-color: #800000;'>Registrar nuevo Cliente</span></strong>";
        //    //nuevo.idInternal = 0;

        //    //todos los clientes d

        //    var p = (from a in DbUtil.Db.OrdenVentas
        //             where (a.Cliente.descripcion).Contains(prefixText)
        //              & a.idProyecto == contextKey.ToInt()
        //             select new ClienteSearchInfo
        //             {
        //                 idInternal = a.Cliente.idInternal,
        //                 descripcion = a.Cliente.descripcion,
        //                 numDocumento = a.Cliente.numDocumento,
        //                 correo = a.Cliente.email,
        //                 direccion = a.Cliente.Direccion.descripcion,
        //                 telefono = a.Cliente.telefono,
        //                 tipoDocumento = a.Cliente.TipoDocumento.abreviacion,
        //                 vista = String.Format("{0}:{1} {2}", a.Cliente.TipoDocumento.abreviacion, a.Cliente.numDocumento, a.Cliente.descripcion),
        //             }).Take(35);




           
        //    return Util.Tbl2Str(Util.EntidadToDataTable(p.ToList()));

        //}

      
        protected void Page_Load(object sender, EventArgs e)
        {
            //clienteTXT.ChkVal = (string)Request.QueryString["idProyecto"]; 
            if (!Page.IsPostBack)
            {
                try
                {
                   
                    idProyecto.Value = (string)Request.QueryString["idProyecto"];
                    idOrdenVenta.Value = (string)Request.QueryString["idOrdenVenta"];
                    menuCtrl1.loadMenuVenta(idProyecto.Value.ToInt());
                    FormatForm();

                }
                catch (SqlException sqlex)
                {
                    WebServerSideSqlError.Log(sqlex);

                    ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                     "uniqueKey" + DateTime.Now, "alert('" + sqlex.Message.Replace("'", "") + "');", true);


                }
                catch (Exception ex)
                {
                    WebServerSideError.Log(ex);
                    ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                         "uniqueKey" + DateTime.Now, "alert('" + ex.Message.Replace("'", "") + "');", true);

                }

            }
        }
        private void ShowComboBox()
        {
            var lista = new ListValueBL();
            conceptoDDL.DataValueField="idInternal";
            conceptoDDL.DataTextField="descripcion";
            conceptoDDL.DataSource = lista.GetConceptoVenta();
            conceptoDDL.DataBind();

            monedaDDL.DataValueField = "idInternal";
            monedaDDL.DataTextField = "descripcion";
            monedaDDL.DataSource = lista.GetMoneda();
            monedaDDL.DataBind();
        }

        private void LoadCliente(Cliente cliente)
        {
            cliente1TXT.Text = cliente.descripcion;
            //clienteTXT.Text = cliente.descripcion;
            idClienteTXT.Text = cliente.idInternal.ToString();
            docClienteTXT.Text = cliente.TipoDocumento.abreviacion;
            numDocClienteTXT.Text = cliente.numDocumento;
        }
        private void FormatForm()
        {
            ShowComboBox();
            if (idOrdenVenta.Value.ToInt() > 0)
            {
                var ordenventa = DbUtil.Db.OrdenVentas.Single(p => p.idInternal == idOrdenVenta.Value.ToInt());
                LoadCliente(ordenventa.Cliente);
            }

        }

        protected void siguienteLKB_Click(object sender, EventArgs e)
        {
            var lista = PendientePagoPanel1.SeleccionList;

            if (lista.Count > 0)
            {
                string idColeccion = Parametros.GenerarID().ToString();

                Session[idColeccion] = lista;
                Response.Redirect("RendicionVentaEditForm.aspx?Type=A&idProyecto={0}&idColeccion={1}&idConcepto={2}".Fmt(idProyecto.Value, idColeccion, conceptoDDL.SelectedValue), true);
            }
        }

    }
}